#ifndef __TOP_CFG_H__
#define __TOP_CFG_H__

#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>

#include "stm32f10x.h"

#include ".\utilities\compiler.h"
#include ".\utilities\simple_fsm.h"
//#include ".\utilities\ooc.h"

//#define __PLOOC_CLASS_IMPLEMENT
#include "utilities/ooc.h"

#include ".\bsp\uart\uart.h"
#include ".\bsp\led\led.h"
#include ".\bsp\rcc\rcc.h"

#include ".\service\breath_led\breath_led.h"
#include ".\service\event\event.h"
#include ".\service\critical\critical.h"
#include ".\service\byte_queue\byte_queue.h"

#include ".\compoent\3rdparty\SERGGER RTT\SEGGER_RTT.h"

#define LOG(format, ...) SEGGER_RTT_printf(0, RTT_CTRL_TEXT_WHITE"[debug]"format, ##__VA_ARGS__)
#define LOG_RAW(format, ...) SEGGER_RTT_printf(0, RTT_CTRL_TEXT_WHITE""format, ##__VA_ARGS__)
#define LOG_W(format, ...) SEGGER_RTT_printf(0, RTT_CTRL_TEXT_YELLOW""format, ##__VA_ARGS__)
#define LOG_G(format, ...) SEGGER_RTT_printf(0, RTT_CTRL_TEXT_GREEN""format, ##__VA_ARGS__)
#endif
